package com.example.myapplication.realtime

import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import com.example.myapplication.UserSession

/**
 * 开机启动接收器 - 确保实时通信服务在设备重启后自动启动
 */
class BootReceiver : BroadcastReceiver() {
    
    companion object {
        private const val TAG = "BootReceiver"
    }
    
    override fun onReceive(context: Context, intent: Intent) {
        when (intent.action) {
            Intent.ACTION_BOOT_COMPLETED -> {
                Log.d(TAG, "设备启动完成，检查是否需要启动实时通信服务")
                handleBootCompleted(context)
            }
        }
    }
    
    /**
     * 处理开机完成事件
     */
    private fun handleBootCompleted(context: Context) {
        // 检查用户是否已登录
        val prefs = context.getSharedPreferences("user_prefs", Context.MODE_PRIVATE)
        val isLoggedIn = prefs.getBoolean("is_logged_in", false)
        
        if (isLoggedIn) {
            Log.d(TAG, "用户已登录，启动实时通信服务")
            
            // 延迟启动服务，确保系统完全启动
            android.os.Handler(android.os.Looper.getMainLooper()).postDelayed({
                try {
                    RealtimeService.startService(context)
                    Log.d(TAG, "实时通信服务启动成功")
                } catch (e: Exception) {
                    Log.e(TAG, "启动实时通信服务失败: $e")
                }
            }, 10000)// 延迟10秒启动
        } else {
            Log.d(TAG, "用户未登录，不启动实时通信服务")
        }
    }
} 